<?php
///
namespace lxsphp;

/**
 * 框架入口
 *
 * @version $Id: App.php 192 2014-07-18 02:27:45Z linsir123 $
 * @package lxsphp
 */
class App
{
	/**
	 * 应用实例
	 *
	 * @var Instance
	 * @static
	 */
	static $I;

	/**
	 * 启动应用程序
	 *
	 * @static
	 */
	static function serve()
	{
		///
		self::$I = new Instance();
		self::$I->serve();
	}

	/**
	 * 获取配置信息
	 *
	 * @param string $key 选项的键值
	 * @param string $package 包名
	 *
	 * @return mixed
	 * @static
	 */
	static function o($key, $package = null)
	{
		///
		return self::$I->getConfig()->get($key, $package);
	}

	/**
	 * 返回[Redis]对象
	 *
	 * @param string $index 索引
	 *
	 * @return Store\Redis\Redis
	 * @static
	 */
	static function getRedis($index = 'lxsphp')
	{
		///
		return self::$I->getStore('Redis', $index);
	}

	/**
	 * 返回[PDO]对象
	 *
	 * @param string $index 索引
	 *
	 * @return Store\Pdo\Pdo
	 * @static
	 */
	static function getPdo($index = 'lxsphp')
	{
		///
		return self::$I->getStore('Pdo', $index);
	}

	/**
	 * 加载第三方插件
	 *
	 * @param string $name 插件名称
	 * @param bool $internal 从应用或框架处提供
	 *
	 * @static
	 */
	static function v($name, $internal = true)
	{
		///
		$file = sprintf("Vendor/%s.php", $name);
		$dir = $internal ? BASE_DIR : APP_DIR;

		///
		Load::file($file, $dir);
	}
}
